LtU Forum, Site Discussion

"applicative" vs."functional"

Is there any difference between the terms "applicative" and "functional" when applied to programming languages?

As far as I can see from googling a bit, the answer is no, they are used interchangeably, although perhaps applicative is used less frequently. Does applicative reduction order imply strictness? If so, wouldn't it be sensible to have "applicative" to mean "strict functional"? And perhaps "normative" for "nonstrict functional" (assuming normal reduction order implies non-strictness)? Oh well, even if that were a sensible distinction, I guess the ship has sailed.

SuDoku

This Excel file (contains a viewable and editable macro) does the minimal sudoku in a second or so. - and it's not by brute force! - any comments welcomed.

www.brightonandhove.org/sudoku/solver5c.xls
Of course, you need Excel to run it- and OpenOffice won't do it. ;0)...... yet.

Why recursing is better than looping

I just posted a new article for imperative-loving people about why recursive programming is better than imperative programming.

Here's the article: Mastering Recursive Programming

I thought you all might be interested, and I am interested in any comments, criticisms, additions, subtractions you all have.

A Call to Arms

A Call to Arms - Jim Gray, ACM Queue

"The really big news here is that these languages have also been fully integrated into the current crop of object-relational databases. The runtimes have actually been added to the database engines themselves such that one can now write database stored procedures (modules), while at the same time defining database objects as classes within these languages."

Big-time language lock-in.

YubNub

I added a ltu command to yubnub...

JavaScript 2.0: Evolving a Language for Evolving Systems

JavaScript 2.0: Evolving a Language for Evolving Systems (pdf) Waldemar Horwat

JavaScript 2.0 is the next major revision of the JavaScript language. Also known as ECMAScript Edition 4, it is being standardized by the ECMA organization.

Embedded Languages in Java

ok, this may be one of those stupid questions that makes no sense, but can anyone give me any references, ideas, pointers, examples, etc to embedded languages in java. i don't mean compiling non-java to class files, but taking the idea of embedded or domain-specific languages and somehow making them work in java. for c++, for example, you might think of the recursive decent parser that uses template expansion (spirit?). but java doesn't have templates. so perhaps the question is more about whether there's anything useful to carry across from using dsls into "plain old" oo design. comments? have i missed something really obvious? thanks.

Transducer Composition and CPS

I am really intrigued by the short abstract of Olin Shivers. Transducer Composition and CPS, but for some reason it seems to be the only reference to it on the web. Can anyone suggest a replacement reading (using continuations for describing push/pull composition of separately defined components)? Ideally it would allow components with more than one input and output, but that's too much to ask :-)

Off Topic Humour: New Programming Language C+-

There's finally a replacement for the commonly used programming language, C++ -- yes, it's C+- (pronounced "C More or Less").

Unlike C++, C+- is a subject-oriented language. Each C+- class instance, known as a subject, holds hidden members, known as prejudices or undeclared preferences, which are impervious to outside messages, as well as public members known as boasts or claims. The following C operators are overridden as shown:

> better than
< worse than >> way better than
<< forget it
! not on your life
== comparable, other things being equal

C+- is a strongly typed language based on stereotyping and self-righteous logic. The Boolean variables TRUE and FALSE (known as constants in less realistic languages) are supplemented with CREDIBLE and DUBIOUS, which are fuzzier than Zadeh's traditional fuzzy categories. All Booleans can be declared with the modifiers strong and weak. Weak implication is said to "preserve deniability" and was added at the request of the Department of Defense to ensure compatibility with future versions of ADA. Well-formed falsehoods (WFFs) are assignment-compatible with all booleans. What-if and why-not interactions are aided by the special conditional evenifnot X then Y.

C+- supports information hiding and, among friend classes only, rumor sharing. Borrowing from the Eiffel lexicon, non-friend classes can be killed by arranging contracts. Note that friendships are intransitive, volatile, and non-Abelian.

Operator precedence rules can be suspended with the directive #pragma dwim, known as the "Do what I mean" pragma.

ANSIfication will be firmly resisted. C+-'s slogan is "Be Your Own Standard."

Sudoku

Sudoku is all the rage around here these days. I assumed Sudoku would be a standard example of constraint satisfaction by now, but it seems this isn't the case by the number of hits I get on google. I wonder why.

For your enjoyment: a Sicstus prolog solution, and an ECLiPSe solution.

XML feed